package com.zelix;

import java.util.*;

abstract class ar {

    tq a;
    boolean b;
    boolean c;
    boolean d;
    String e;
    String f;
    Integer g;
    dr h[];
    static final String i[];
    static String j;
    private static String z[];

    ar() {
    }

    void a(dr dr1, int k, StringBuffer stringbuffer) {
        String as[];
        int l;
        as = dr1.b();
        if (k == 1 || as == null)
            return;
        if (k == 2 || k == 3) {
            stringbuffer.append("(");
            for (l = 0; l < as.length; l++) {
                if (k == 3) {
                    stringbuffer.append(as[l]);
                } else if (k == 2) {
                    String s = as[l];
                    int i1 = s.lastIndexOf(".");
                    if (i1 > -1)
                        s = s.substring(i1 + 1);
                    stringbuffer.append(s);
                }
                if (l < as.length - 1)
                    stringbuffer.append(z[2]);
            }
            stringbuffer.append(")");
        }
    }

    void a(StringBuffer stringbuffer) {
        if (f != null && f.length() > 0) {
            stringbuffer.append("(" + f);
            if (g != null)
                stringbuffer.append(":" + g.intValue());
            stringbuffer.append(")");
        }
    }

    String a() {
        return a.e();
    }

    final String a(int k, se se1) {
        StringBuffer stringbuffer;
        if (h != null)
            Arrays.sort(h);
        stringbuffer = new StringBuffer(64);
        if (a.k() && c) {
            stringbuffer.append(j + z[1] + e);
            if (h != null && h.length != 0) {
                if (h.length == 1) {
                    stringbuffer.append("." + h[0].a());
                    a(h[0], k, stringbuffer);
                    a(stringbuffer);
                } else {
                    String s;
                    int l;
                    s = zu.a(stringbuffer.length() + 1, ' ');
                    for (l = 0; l < h.length; l++) {
                        if (l == 0) {
                            stringbuffer.append(".");
                        } else {
                            stringbuffer.append(s);
                        }
                        stringbuffer.append(h[l].a());
                        a(h[l], k, stringbuffer);
                        if (l == 0) {
                            a(stringbuffer);
                            stringbuffer.append(zo.e);
                        } else if (l < h.length - 1)
                            stringbuffer.append(zo.e);
                    }
                }
            }
            stringbuffer.append(zo.e);
        } else {

            StringTokenizer stringtokenizer;
            String s = a.c();
            if (a.j() || a.k() && !c) {
                stringbuffer.append(j);
                stringbuffer.append(s);
            } else if (se1 != null) {
                stringtokenizer = new StringTokenizer(s, z[0], true);
                while (stringtokenizer.hasMoreTokens()) {
                    String s1 = stringtokenizer.nextToken();
                    if (s1.equals(" ") || s1.equals(":")) {
                        stringbuffer.append(s1);
                    } else {
                        String s2 = se1.f(s1);
                        if (s2 != null) {
                            stringbuffer.append(s2);
                        } else {
                            stringbuffer.append(s1);
                        }
                    }
                }
            } else {
                stringbuffer.append(s);
            }

            stringbuffer.append(zo.e);
        }
        return stringbuffer.toString();
    }

    String[] a(Vector vector, StringBuffer stringbuffer, se se1) {
        int k;
        String as[];
        int l;
        k = vector.size();
        as = new String[k];
        for (l = 0; l < k; l++) {
            String s = (String) vector.get(l);
            as[l] = a(s, se1);
            stringbuffer.append(as[l]);
            if (l < k - 1)
                stringbuffer.append(z[2]);
        }
        return as;
    }

    String a(String s, se se1) {
        String s1;
        int k = s.indexOf("[");
        if (k != -1) {
            s1 = s.substring(k);
            s = s.substring(0, k);
        } else
            s1 = "";
        String s2 = se1.f(s);
        if (s2 == null)
            s2 = s;
        return s2 + s1;
    }

    String b() {
        return e;
    }

    boolean c() {
        return a.j();
    }

    boolean d() {
        return d;
    }

    public boolean e() {
        return c;
    }

    boolean f() {
        return h != null && h.length == 1 && h[0].a().equals(z[3]);
    }

    boolean g() {
        return a.k();
    }

    final boolean a(qq qq1, se se1)
            throws ec {
        String s;
        label0:
        {
            label1:
            {
                s = qq1.a();
                String s1 = se1.f(s);
                if (s1 == null)
                    break label0;
                c = true;
                e = s1;
                String s2 = se1.g(s1);
                if (s2 != null)
                    f = s2;
                if (!qq1.d())
                    break label1;
                int k = qq1.b();
                if (k < 0)
                    throw new ec(z[6] + k + z[7] + qq1.c() + z[8]);
                if (se1.e()) {
                    Integer integer = se1.a(s1, k);
                    if (integer != null) {
                        g = integer;
                    }else{
                    throw new ec(z[4] + k + z[9] + qq1.c() + z[5]);
                    }
                }
                g = new Integer(k);
            }
            b = true;
            return true;
        }
        e = s;
        c = false;
        b = false;
        return false;
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0: // '\0'
                    key = 0x64;
                    break;

                case 1: // '\001'
                    key = 83;
                    break;

                case 2: // '\002'
                    key = 64;
                    break;

                case 3: // '\003'
                    key = 76;
                    break;

                default:
                    key = 26;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static {
        String as[];
        as = new String[10];
        as[0] = "^s";
        as[1] = "\005'`";
        as[2] = "Hs";
        as[3] = "\027'!8s\007";
        as[4] = "(:.):\n&-.\177\026sg";
        as[5] = "Cs##o\b7`\"u\020s\"):\t24/r\0017nlY\f2.+\177D?/+:\000<%?:\n<4ly\013!2)i\024<.(:\020<`#x\002&3/{\0206$lx\035'%/u\0006n";
        as[6] = "(:.):\n&-.\177\026sb";
        as[7] = "Fs)?:\n6'-n\r%%ls\nsg";
        as[8] = "C}";
        as[9] = "Cs)\":C";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;
        i = new String[0];
        j = zu.a(4, ' ');
    }
}